"Wenn irgendwas komplizierter ist als ein Toastbrot, wird es nicht benutzt."
Keep it simple, keep it fast: Das neue IP Version 6
Referent:
Tim Pritlove, CCC
Wir schreiben das Jahr 1997. Das Routing im Internet basiert auf IP Version 4, die eigentlich Version 1 ist. Jeder Rechner (genauer: jede Schnittstelle) benötigt eine eindeutige Adresse. Diese Adressen werden aus 4 Bytes (=32 bit) zusammengesetzt. Es besteht ein ganze Reihe von Problemen: Die maximal verfügbaren Adressen reichen demnächst nicht mehr aus, wenn Taschenrechner, Toaster und Fernseher (sowieso) meinen, über IP miteinander verkehren zu müssen.
Darüber hinaus zwickt und zwackt es an noch mehr Stellen, und das im Gegensatz zum zu kleinen Adressraum schon jetzt ganz konkret: Die 32 Bit-Adressierung reicht in großen Netzen nicht mehr, die erforderlichen Subnetze zu verwalten. Mit der IP V.4 Adressierung verknüpft ist die Existenz unzähliger verschiedener Routerprotokolle. Daher rührt auch die Nichtbenutzung vieler Features, die IP V.4 durchaus anbietet. Ein Router, der das machen würde, wäre sehr langsam und nicht kompatibel zu den anderen. Das an sich ist schon ein Problem, schlimmer ist aber noch, daß praktisch jeder Router auf der Welt Routingtabellen verwalten muß, die seit langer Zeit exponentiell wachsen und inzwischen kaum mehr zu verarbeiten sind. Etwas Neues muß her, und das heißt dann IP V.6. Viele Gruppen haben an etwas Neuem herumgebastelt, IP V.6 stammt aus der Feder der IP Next Generation Gruppe. Und das ist wohl etwas ganz Tolles.
Der neuer Aufbau der IP-Pakete an sich
Der grundsätzliche Aufbau eines IP Paketes ist:
Header | Payload |
Payload ist sind die eigentlichen Daten, die transportiert werden sollen. Die Länge des Headers kann bei V.4 varieren, was das Handling natürlich erschwert.
In IP V.6 ist ein Header konstant lang, und im Vergleich zu V.4 einfach aufgebaut. 90 Prozent aller Pakete
werden mit einem einfachen Header auskommen.
Für besondere Anwendungen gibt es Extension Headers, die dem Basisheader (im Sinne einer verketteten Liste
folgen).
Basisheader | Extensionsheader | Extensionsheader | Payload |
Extensionheader sind z.B:
Neue Adressen
Wie gesagt, jetzt hat eine Adresse 32 Bit. Bei V.6 werden es 128. Das ist doppelt so viel, wie - mathematisch
betrachtet - nötig wäre. Aber wir sind ja lernfähig und planen gleich etwas mehr ein. (Wobei die
Adressverlängerung den Adressraum hier exponentiell erweitert und 'etwas mehr' stark untertrieben ist.)
Die Adressen sagen dann etwas über den Standort des Empfängers aus; früher war es halt einfach irgendeine Nummer, deren Zuordnung zu realen Maschinen über ausufernde Tabellen lief. Die Adresse enthält dann 5 Informationen:
Registry | Provider | Subscriber | Subnet | Interface |
Die Notation der Adressen ist hexadezimal mit Doppelpunkten als 2 Byte Trennung. Es treten immer an einer
Stelle in der Adresse eine größere Anzahl Nullen auf, die durch zwei aufeinanderfolgende Doppelpunkte
repräsentiert und abgekürzt werden. Zum Beispiel:
FEDC:B198::7654:3210
Es fällt ins Auge, daß die letzten 32 Bit für die Abwärtskompabilität zu V.4 bestimmt sind. Die Adressen sind großräumig für bestimmte Aufgaben verteilt. Je 1/8 aller verfügbaren Adressen verteilen sich auf:
Je 1/256 verteilen sich auf:
Neues Routing
Sourcerouting
Das gibt es im Prinzip auch schon bei V.4, ist aber aufgrund der vielen zusammengestrickten Routingprotokolle
nicht durchführbar. Es gibt hier die Möglichkeit festzulegen, welchen Weg ein IP-Paket nehmen soll, und den
Weg dadurch z.B. auf einen bestimmten Provider festzulegen.
Unicast
Das bisher auch übliche Routing. Es wird ein Empfänger angegeben und nur der nimmt auch das Paket in
Empfang
Multicast
Mehrere Empfänger sind möglich, z.B. bestimmte Dienstanbieter in definierten Netzabschnitten. Diese
Möglichkeit bietet bahnbrechende neue Möglichkeiten, im Netz zu agieren. Z.B das automatische Konfiguieren
von Netzanbindungen. Man nehme einen Computer, stecke ihn an das Ethernet der Zahnarztpraxis. Der
Computer schickt ein einziges IP-Paket ins Netz, mit dem Empfänger 'Irgendein Router auf meiner Leitung' und
der Payload 'Arrg, wer bin ich, gib mir eine Adresse, gib meinem Leben ein Sinn.' Nun sind alle Router im LAN
verpflichtet, sich des hilflosen Newbies anzunehmen und ihm zu sagen, wer er sein soll. Das Einstellen von
TCP/IP Adressen, DHCP und andere Workarounds haben sich erledigt. Und es geht weiter. Man nehme einen
Laptop, verlasse seinen Heimatarbeitsplatz Arbeitsplatz in Klein-Ellershausen in Nordrhein-Westfalen und
begebe sich nach Timbuktu. Und jetzt?
Bei V.4 heißt das: An ein Netz in Timbuktu anschließen und sich mit einer neuen IP Nummer und allen damit
verbundenen Unannehmlichkeiten abfinden.
In Verbindung mit der neuen 128 bit Adressierung geht das so: Ein IP-Paket ins Netz schicken, Empfänger
'Mein Heimat-Router', Botschaft 'Ähh, an wen soll ich mich denn jetzt wenden, damit ich mein Heimatnetz
erreiche? Und übigens: um zu mir zu kommen, guck Dir mal an, welchen Weg das Paket genommen hat'.
Aufgrund von Multicast fühlen sich jetzt alle erreichbaren Router angesprochen, ohne daß der Laptop sie
kennen muß, und leiten dieses Paket in die Heimat weiter.
Anycast
Gib mir irgendeinen aus einer definierten Gruppe von Empfängern, aber nur einen. Z.B. wenn man einen Router
haben will, der Zugang zu einem bestimmten Netzabschnitt hat.
Weitere Features
Encryption
Es existieren definierte Methoden für die Implementierung beliebiger Verschlüsselungsverfahren für die Payload.
(Ebenso wie für die Autentifizierung derselben, aber das hatten wir schon oben.) Und sehr wichtig: es wird
Methoden geben, Schlüssel auf IP-Ebene auszutauschen. Es ist keine bestimmte Methode ausschließlich
festgelegt, aber eine Methode, wie die diese Methode festzulegen ist. Bisher ist die Rede von Photuis, einen
Verfahren zum Ausstausch symmetrischer Schlüssel.
Neues Fragmenthandling
Überschreitet die Größe eines IP-Paketes die Fähigkeiten eines Netzabschnittes, so kann es in Fragmente
zerlegt werden. Das war bisher die Aufgabe der Router. Nun muß sich der Absender selber darum kümmern.
Das ist für die Performance der Router wichtig.
Encapsulation
You'll be assimilated. Resistance is futile. Ade IPX, Appletalk und so weiter. IP V.6 sieht vor, diese Protokolle
zu kapseln, so daß alte Applikationen und Betriebsysteme so weiter machen können wie bisher und neue sich
nur noch um IP V.6 kümmern müssen.
Realtime Dataflow
Die Massenanwendungen der Zukunft, Telefonie und Video brauchen angemessene Bandbreite. Hierzu können
den entsprechenden Paketen variable Prioritäten eingeräumt werden. Beim Multicasting kann die Priorität der
Anzahl der Adressen, die auf Empfang gehen, angepaßt werden. Multicastet einer ins Netz und keiner will's
haben, bleibt die Priorität niedrig.